#ifndef __TELEPHONEBOOK_H__
#define __TELEPHONEBOOK_H__
#include<stdbool.h>
#include<stdlib.h>
#define NameSize 24
#define TelephoneSize 24
#define BookSize 512
#define GrowthFactor 2
typedef struct Telephoneinof
{
    char *Name;
    char *Telephone;
} Tinof;
typedef struct TelephoneBook
{
    Tinof *inof;
    int size;
    int capacity;
}TBook;

void InitInof(Tinof *inof);
void InitTBook(TBook *book);
void ShowInof(Tinof *inof);
void Show(TBook *book);
void InsertInof(TBook *book, char *name, char* telephone);
void SetinofValue(Tinof *inof, char *name, char *telephone);
void RemoveByIndex(TBook *book, int index);
void RemovePeople(TBook *book, void* value, bool (*p)(Tinof *, void*));
void FindPeople(TBook *book, void *value, bool (*p)(Tinof *, void *));
void RevisePeople(TBook *book, void *value_revisewhat, void *value_old, void *value_new, bool (*p)(Tinof *, void *));
void FreeInof(Tinof *inof);
void FreeBook(TBook *book);
#endif